﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using ActiveDs;

namespace ViVa.ActiveDirectory
{
    public class ADEntry
    {
        /// <summary> Email adres </summary>
        public string Email { get; set; }
        /// <summary> Last name </summary>
        public string Name { get; set; }
        /// <summary> First name  </summary>
        public string GivenName { get; set; }
        /// <summary> Last name </summary>
        public string SN { get; set; }
        /// <summary> Login name </summary>
        public string SamAccountName { get; set; }
        /// <summary> Group memberships </summary>
        public List<string> MemberOf { get; set; }
        /// <summary> LDAP name </summary>
        public string DistinguishedName { get; set; }
        /// <summary> Company or organization name </summary>
        public string Company { get; set; }
        /// <summary>  </summary>
        public string DisplayName { get; set; }
        /// <summary>  </summary>
        public string Initials { get; set; }
        /// <summary> Function / Title </summary>
        public string Title { get; set; }
        /// <summary> Common Name / LDAP Attribute made up from givenName joined to SN</summary>
        public string CN { get; set; }
        /// <summary>  </summary>
        public string Office { get; set; }
        /// <summary>  </summary>
        public string TelephoneNumber { get; set; }
        /// <summary>  </summary>
        public string EmployeeID { get; set; }
        /// <summary> Fax number </summary>
        public string FacsimileTelephoneNumber { get; set; }
        /// <summary>  </summary>
        public string Mobile { get; set; }
        /// <summary>  </summary>
        public string Pager { get; set; }
        /// <summary>  </summary>
        public string HomePhone { get; set; }
        /// <summary> Notes </summary>
        public string Info { get; set; }
        /// <summary>  </summary>
        public string StreetAddress { get; set; }
        /// <summary>  </summary>
        public string PostalCode { get; set; }
        /// <summary> Location: City </summary>
        public string l { get; set; }
        /// <summary> Country </summary>
        public string co { get; set; }
        /// <summary>  </summary>
        public string Department { get; set; }
        /// <summary> Location: Officename </summary>
        public string PhysicalDeliveryOfficeName { get; set; }
        /// <summary> What you see in Active Directory. Not to be confused with displayName </summary>
        public string Description { get; set; }
        /// <summary> If the account is Expired. A value of 0 means the account is not set to be expired </summary>
        public string AccountExpires { get; set; }
        /// <summary> If the account is disabled </summary>
        public bool AccountDisabled { get; set; }
        /// <summary> SID of the object </summary>
        public string objectSID { get; set; }
        /// <summary> Last time of logon object </summary>
        public DateTime LastLogonTimeStamp { get; set; }
    }
}